{
  /*
    学习目标：对象类型

    1. 语法
      : {
        键名: 类型
        键名?: 类型
      }
    2. 推荐👍： 提取类型别名type，阅读更直观
    3. 利用vscode推导，快速提取类型
  */

  type OBJ = {
    name: string;
    age: number;
    gender: string;
  };

  // 1. 使用类型别名
  const obj: Obj = {
    name: '123',
    // age: 18,
    // gender: 'nan',
  };

  // 2. 先创建一个对象，利用vscode代码提示，快速提取type
  type ListType = {
    aaa: string;
    ccc: number;
  };

  const list = {
    aaa: 'bb',
    ccc: 15,
  };

  // 3. 可选属性
  type Obj = {
    name: '123';
    age?: number;
    gender?: string;
  };

  const obj2: Obj = {
    name: '123',
    // age: 18,
    // gender: 'nan',
  };
}
